package cn.tedu.staff_user.management.dao.persist.repository;

import cn.tedu.common.pojo.po.StaffSearchPO;
import cn.tedu.staff_user.management.pojo.entity.Staff;
import cn.tedu.staff_user.management.pojo.vo.StaffListItemVO;

import java.util.List;

public interface IStaffRepository {

    /**
     * 员工列表
     */
    List<StaffListItemVO> list();

    /**
     * 增加员工
     */
    int addNew(Staff staff);

    /**
     * 根据用户名查数量
     * @param username
     * @return
     */
    int countName(String username);

    /**
     * 删除员工
     * @param id
     */
    int deleteById(Long id);

    /**
     * 更新员工
     * @return
     */
    int update(Staff staff);

    /**
     * 根据ID修改员工
     *
     * @param staff 封装了文章ID和新数据的对象
     * @return 受影响的行数
     */
    int updateById(Staff staff);
    /**
     * 根据查看优秀员工接口
     */
    List<StaffListItemVO> selectList();

    /**
     * 查询用于搜索的商品数据列表，此搜索结果将用于写入到ES中
     *
     * @return 商品数据列表
     */
    List<StaffSearchPO> listSearch();
}
